Abstract. Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same com-putation. To our knowledge it has not yet been applied to lazy functional programming languages, although there are several advantages. First, the referential transparency of these languages makes the identification of com-mon subexpressions very simple. Second, more common subexpressions can be recognised because they can be of arbitrary type whereas standard com-mon subexpression elimination only shares primitive values. However, be-cause lazy functional languages decouple program structure from data space allocation and control flow, analysing its effects and deciding under which conditions the elimi...
Current implementations of non-strict functional languages rely on call-by-name reduction to impleme...
Partial evaluation can be used for automatic generation of compilers and was first implemented in [1...
It is quite natural to define a software language as an extension of a base language. A compiler bui...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Abstract: This paper describes an efficient interpreter for lazy functional languages like Haskell a...
One of the most novel features in the functional programming language Haskell is the system of type ...
Six implementations of different lazy functional languages are compared using a common benchmark of ...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
Current implementations of non-strict functional languages rely on call-by-name reduction to impleme...
Partial evaluation can be used for automatic generation of compilers and was first implemented in [1...
It is quite natural to define a software language as an extension of a base language. A compiler bui...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Abstract: This paper describes an efficient interpreter for lazy functional languages like Haskell a...
One of the most novel features in the functional programming language Haskell is the system of type ...
Six implementations of different lazy functional languages are compared using a common benchmark of ...
The Generic Haskell programming language allows functions to be defined by induction on the structur...
Current implementations of non-strict functional languages rely on call-by-name reduction to impleme...
Partial evaluation can be used for automatic generation of compilers and was first implemented in [1...
It is quite natural to define a software language as an extension of a base language. A compiler bui...